// $ANTLR 3.4 /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g 2013-05-20 19:00:39

package it.uniroma2.art.coda.pearl.parser.antlr;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AntlrLexer extends Lexer {
    public static final int EOF=-1;
    public static final int T__67=67;
    public static final int T__68=68;
    public static final int T__69=69;
    public static final int T__70=70;
    public static final int T__71=71;
    public static final int T__72=72;
    public static final int T__73=73;
    public static final int T__74=74;
    public static final int T__75=75;
    public static final int T__76=76;
    public static final int T__77=77;
    public static final int T__78=78;
    public static final int T__79=79;
    public static final int T__80=80;
    public static final int T__81=81;
    public static final int T__82=82;
    public static final int T__83=83;
    public static final int T__84=84;
    public static final int T__85=85;
    public static final int T__86=86;
    public static final int T__87=87;
    public static final int T__88=88;
    public static final int AST_ABBR=4;
    public static final int AST_BINDINGS_CLAUSE=5;
    public static final int AST_BINDING_DEFINITION=6;
    public static final int AST_BLANK_NODE=7;
    public static final int AST_CONVERTERS=8;
    public static final int AST_DATATYPE=9;
    public static final int AST_FEATURE_PATH=10;
    public static final int AST_FEATURE_PATH_ELEMENT=11;
    public static final int AST_GRAPH=12;
    public static final int AST_GRAPH_CLAUSE=13;
    public static final int AST_GRAPH_OBJECT=14;
    public static final int AST_GRAPH_PREDICATE=15;
    public static final int AST_GRAPH_SUBJECT=16;
    public static final int AST_GRAPH_TRIPLE=17;
    public static final int AST_ID=18;
    public static final int AST_IRI_REF=19;
    public static final int AST_JAVA_QUALIFIED_NAMED=20;
    public static final int AST_LANG=21;
    public static final int AST_LAZY_RULE=22;
    public static final int AST_NODES_CLAUSE=23;
    public static final int AST_NODES_DEF=24;
    public static final int AST_OPTIONAL=25;
    public static final int AST_PEARL_UNIT=26;
    public static final int AST_PLACE_HOLDER=27;
    public static final int AST_PREFIXED_NAME=28;
    public static final int AST_PREFIX_DECLARATION=29;
    public static final int AST_PROJECTION_OPERATOR=30;
    public static final int AST_PROLOGUE=31;
    public static final int AST_RULE=32;
    public static final int AST_RULES=33;
    public static final int AST_UIMA_TYPE_NAME=34;
    public static final int AST_VAR=35;
    public static final int AST_WHERE_CLAUSE=36;
    public static final int AST_WHERE_OBJECT=37;
    public static final int AST_WHERE_PREDICATE=38;
    public static final int AST_WHERE_SUBJECT=39;
    public static final int AST_WHERE_TRIPLE=40;
    public static final int BLANK_NODE_LABEL=41;
    public static final int COMMENT=42;
    public static final int HEX=43;
    public static final int INTEGER=44;
    public static final int IRIREF=45;
    public static final int JAVA_IDENTIFIER=46;
    public static final int JAVA_LETTER=47;
    public static final int JAVA_LETTER_OR_DIGIT=48;
    public static final int LANGTAG=49;
    public static final int MULTILINE_COMMENT=50;
    public static final int NEWLINE=51;
    public static final int PERCENT=52;
    public static final int PLX=53;
    public static final int PNAME_LN=54;
    public static final int PNAME_NS=55;
    public static final int PN_CHARS=56;
    public static final int PN_CHARS_BASE=57;
    public static final int PN_CHARS_U=58;
    public static final int PN_LOCAL=59;
    public static final int PN_LOCAL_ESC=60;
    public static final int PN_PREFIX=61;
    public static final int RULE_ID=62;
    public static final int VAR1=63;
    public static final int VAR2=64;
    public static final int VARNAME=65;
    public static final int WS=66;

    @Override
    public void reportError(RecognitionException e) {
    	System.out.println("&&& Lexer::reportError\n"); // DEBUG
    	System.out.println(e.getClass().toString());
        	
    	if (e instanceof UnwantedTokenException) {
    		String text = ((UnwantedTokenException) e).getUnexpectedToken().getText();
    	  int line = ((UnwantedTokenException) e).getUnexpectedToken().getLine();
    	  int pos = ((UnwantedTokenException) e).getUnexpectedToken()
    	      .getCharPositionInLine();
    	  String msg = "Lexer error with text = " + text + " at line " + line
    	      + " and char " + pos;
    	  System.out.println(msg);
    	  throw new AntlrParserRuntimeException(msg);
    	} else if (e instanceof NoViableAltException){
    	  int line = ((NoViableAltException) e).line;
    	  int pos = ((NoViableAltException) e).charPositionInLine;
    	  String msg = "Lexer error at line " + line
    	      + " with char at position " + pos;
    	  System.out.println(msg); // DEBUG
    	  throw new AntlrParserRuntimeException(msg);
    	}else {
    	  e.printStackTrace();
    	  throw new AntlrParserRuntimeException(e.toString());
    	}	
    }


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public AntlrLexer() {} 
    public AntlrLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public AntlrLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "/home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g"; }

    // $ANTLR start "T__67"
    public final void mT__67() throws RecognitionException {
        try {
            int _type = T__67;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:39:7: ( '(' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:39:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__67"

    // $ANTLR start "T__68"
    public final void mT__68() throws RecognitionException {
        try {
            int _type = T__68;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:40:7: ( ')' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:40:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__68"

    // $ANTLR start "T__69"
    public final void mT__69() throws RecognitionException {
        try {
            int _type = T__69;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:41:7: ( ',' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:41:9: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__69"

    // $ANTLR start "T__70"
    public final void mT__70() throws RecognitionException {
        try {
            int _type = T__70;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:42:7: ( '.' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:42:9: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__70"

    // $ANTLR start "T__71"
    public final void mT__71() throws RecognitionException {
        try {
            int _type = T__71;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:43:7: ( '/' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:43:9: '/'
            {
            match('/'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__71"

    // $ANTLR start "T__72"
    public final void mT__72() throws RecognitionException {
        try {
            int _type = T__72;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:44:7: ( '=' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:44:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__72"

    // $ANTLR start "T__73"
    public final void mT__73() throws RecognitionException {
        try {
            int _type = T__73;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:45:7: ( 'OPTIONAL' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:45:9: 'OPTIONAL'
            {
            match("OPTIONAL"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__73"

    // $ANTLR start "T__74"
    public final void mT__74() throws RecognitionException {
        try {
            int _type = T__74;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:46:7: ( '[' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:46:9: '['
            {
            match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__74"

    // $ANTLR start "T__75"
    public final void mT__75() throws RecognitionException {
        try {
            int _type = T__75;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:47:7: ( ']' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:47:9: ']'
            {
            match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__75"

    // $ANTLR start "T__76"
    public final void mT__76() throws RecognitionException {
        try {
            int _type = T__76;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:48:7: ( '^^' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:48:9: '^^'
            {
            match("^^"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__76"

    // $ANTLR start "T__77"
    public final void mT__77() throws RecognitionException {
        try {
            int _type = T__77;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:49:7: ( 'a' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:49:9: 'a'
            {
            match('a'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__77"

    // $ANTLR start "T__78"
    public final void mT__78() throws RecognitionException {
        try {
            int _type = T__78;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:50:7: ( 'bindings' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:50:9: 'bindings'
            {
            match("bindings"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__78"

    // $ANTLR start "T__79"
    public final void mT__79() throws RecognitionException {
        try {
            int _type = T__79;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:51:7: ( 'graph' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:51:9: 'graph'
            {
            match("graph"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__79"

    // $ANTLR start "T__80"
    public final void mT__80() throws RecognitionException {
        try {
            int _type = T__80;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:52:7: ( 'lazy' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:52:9: 'lazy'
            {
            match("lazy"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__80"

    // $ANTLR start "T__81"
    public final void mT__81() throws RecognitionException {
        try {
            int _type = T__81;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:53:7: ( 'literal' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:53:9: 'literal'
            {
            match("literal"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__81"

    // $ANTLR start "T__82"
    public final void mT__82() throws RecognitionException {
        try {
            int _type = T__82;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:54:7: ( 'nodes' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:54:9: 'nodes'
            {
            match("nodes"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__82"

    // $ANTLR start "T__83"
    public final void mT__83() throws RecognitionException {
        try {
            int _type = T__83;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:55:7: ( 'prefix' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:55:9: 'prefix'
            {
            match("prefix"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__83"

    // $ANTLR start "T__84"
    public final void mT__84() throws RecognitionException {
        try {
            int _type = T__84;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:56:7: ( 'rule' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:56:9: 'rule'
            {
            match("rule"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__84"

    // $ANTLR start "T__85"
    public final void mT__85() throws RecognitionException {
        try {
            int _type = T__85;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:57:7: ( 'uri' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:57:9: 'uri'
            {
            match("uri"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__85"

    // $ANTLR start "T__86"
    public final void mT__86() throws RecognitionException {
        try {
            int _type = T__86;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:58:7: ( 'where' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:58:9: 'where'
            {
            match("where"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__86"

    // $ANTLR start "T__87"
    public final void mT__87() throws RecognitionException {
        try {
            int _type = T__87;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:59:7: ( '{' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:59:9: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__87"

    // $ANTLR start "T__88"
    public final void mT__88() throws RecognitionException {
        try {
            int _type = T__88;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:60:7: ( '}' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:60:9: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__88"

    // $ANTLR start "RULE_ID"
    public final void mRULE_ID() throws RecognitionException {
        try {
            int _type = RULE_ID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:183:3: ( 'id:' PN_LOCAL )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:184:3: 'id:' PN_LOCAL
            {
            match("id:"); 



            mPN_LOCAL(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "RULE_ID"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:387:3: ( ( ' ' | '\\t' | '\\f' | '\\r' )+ )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:387:9: ( ' ' | '\\t' | '\\f' | '\\r' )+
            {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:387:9: ( ' ' | '\\t' | '\\f' | '\\r' )+
            int cnt1=0;
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0=='\t'||(LA1_0 >= '\f' && LA1_0 <= '\r')||LA1_0==' ') ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            	    {
            	    if ( input.LA(1)=='\t'||(input.LA(1) >= '\f' && input.LA(1) <= '\r')||input.LA(1)==' ' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "NEWLINE"
    public final void mNEWLINE() throws RecognitionException {
        try {
            int _type = NEWLINE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:388:8: ( '\\n' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:388:11: '\\n'
            {
            match('\n'); 

            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NEWLINE"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:389:8: ( '//' ( . )* ( '\\n' | '\\r' ) )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:389:10: '//' ( . )* ( '\\n' | '\\r' )
            {
            match("//"); 



            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:389:15: ( . )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0=='\n'||LA2_0=='\r') ) {
                    alt2=2;
                }
                else if ( ((LA2_0 >= '\u0000' && LA2_0 <= '\t')||(LA2_0 >= '\u000B' && LA2_0 <= '\f')||(LA2_0 >= '\u000E' && LA2_0 <= '\uFFFF')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:389:15: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "MULTILINE_COMMENT"
    public final void mMULTILINE_COMMENT() throws RecognitionException {
        try {
            int _type = MULTILINE_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:390:18: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:390:21: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 



            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:390:26: ( options {greedy=false; } : . )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0=='*') ) {
                    int LA3_1 = input.LA(2);

                    if ( (LA3_1=='/') ) {
                        alt3=2;
                    }
                    else if ( ((LA3_1 >= '\u0000' && LA3_1 <= '.')||(LA3_1 >= '0' && LA3_1 <= '\uFFFF')) ) {
                        alt3=1;
                    }


                }
                else if ( ((LA3_0 >= '\u0000' && LA3_0 <= ')')||(LA3_0 >= '+' && LA3_0 <= '\uFFFF')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:390:53: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            match("*/"); 



            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MULTILINE_COMMENT"

    // $ANTLR start "IRIREF"
    public final void mIRIREF() throws RecognitionException {
        try {
            int _type = IRIREF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:393:3: ( '<' (~ ( '<' | '>' | '\"' | '{' | '}' | '|' | '^' | '`' | '\\u0000' .. '\\u0020' ) )* '>' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:394:3: '<' (~ ( '<' | '>' | '\"' | '{' | '}' | '|' | '^' | '`' | '\\u0000' .. '\\u0020' ) )* '>'
            {
            match('<'); 

            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:394:7: (~ ( '<' | '>' | '\"' | '{' | '}' | '|' | '^' | '`' | '\\u0000' .. '\\u0020' ) )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0=='!'||(LA4_0 >= '#' && LA4_0 <= ';')||LA4_0=='='||(LA4_0 >= '?' && LA4_0 <= ']')||LA4_0=='_'||(LA4_0 >= 'a' && LA4_0 <= 'z')||(LA4_0 >= '~' && LA4_0 <= '\uFFFF')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            	    {
            	    if ( input.LA(1)=='!'||(input.LA(1) >= '#' && input.LA(1) <= ';')||input.LA(1)=='='||(input.LA(1) >= '?' && input.LA(1) <= ']')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '~' && input.LA(1) <= '\uFFFF') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);


            match('>'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IRIREF"

    // $ANTLR start "VAR1"
    public final void mVAR1() throws RecognitionException {
        try {
            int _type = VAR1;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:398:3: ( '?' VARNAME )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:399:3: '?' VARNAME
            {
            match('?'); 

            mVARNAME(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VAR1"

    // $ANTLR start "VAR2"
    public final void mVAR2() throws RecognitionException {
        try {
            int _type = VAR2;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:403:3: ( '$' VARNAME )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:404:3: '$' VARNAME
            {
            match('$'); 

            mVARNAME(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VAR2"

    // $ANTLR start "PNAME_NS"
    public final void mPNAME_NS() throws RecognitionException {
        try {
            int _type = PNAME_NS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:408:3: ( ( PN_PREFIX )? ':' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:409:3: ( PN_PREFIX )? ':'
            {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:409:3: ( PN_PREFIX )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( ((LA5_0 >= 'A' && LA5_0 <= 'Z')||(LA5_0 >= 'a' && LA5_0 <= 'z')||(LA5_0 >= '\u00C0' && LA5_0 <= '\u00D6')||(LA5_0 >= '\u00D8' && LA5_0 <= '\u00F6')||(LA5_0 >= '\u00F8' && LA5_0 <= '\u02FF')||(LA5_0 >= '\u0370' && LA5_0 <= '\u037D')||(LA5_0 >= '\u037F' && LA5_0 <= '\u1FFF')||(LA5_0 >= '\u200C' && LA5_0 <= '\u200D')||(LA5_0 >= '\u2070' && LA5_0 <= '\u218F')||(LA5_0 >= '\u2C00' && LA5_0 <= '\u2FEF')||(LA5_0 >= '\u3001' && LA5_0 <= '\uD7FF')||(LA5_0 >= '\uF900' && LA5_0 <= '\uFDCF')||(LA5_0 >= '\uFDF0' && LA5_0 <= '\uFFFD')) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:409:3: PN_PREFIX
                    {
                    mPN_PREFIX(); 


                    }
                    break;

            }


            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PNAME_NS"

    // $ANTLR start "PNAME_LN"
    public final void mPNAME_LN() throws RecognitionException {
        try {
            int _type = PNAME_LN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:413:3: ( PNAME_NS PN_LOCAL )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:414:3: PNAME_NS PN_LOCAL
            {
            mPNAME_NS(); 


            mPN_LOCAL(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PNAME_LN"

    // $ANTLR start "BLANK_NODE_LABEL"
    public final void mBLANK_NODE_LABEL() throws RecognitionException {
        try {
            int _type = BLANK_NODE_LABEL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:418:3: ( '_:' PN_LOCAL )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:420:2: '_:' PN_LOCAL
            {
            match("_:"); 



            mPN_LOCAL(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANK_NODE_LABEL"

    // $ANTLR start "LANGTAG"
    public final void mLANGTAG() throws RecognitionException {
        try {
            int _type = LANGTAG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:424:3: ( '@' ( 'a' .. 'z' | 'A' .. 'Z' )+ ( '-' ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )+ )* )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:425:3: '@' ( 'a' .. 'z' | 'A' .. 'Z' )+ ( '-' ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )+ )*
            {
            match('@'); 

            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:425:7: ( 'a' .. 'z' | 'A' .. 'Z' )+
            int cnt6=0;
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( ((LA6_0 >= 'A' && LA6_0 <= 'Z')||(LA6_0 >= 'a' && LA6_0 <= 'z')) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            	    {
            	    if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt6 >= 1 ) break loop6;
                        EarlyExitException eee =
                            new EarlyExitException(6, input);
                        throw eee;
                }
                cnt6++;
            } while (true);


            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:425:28: ( '-' ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )+ )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0=='-') ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:425:29: '-' ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )+
            	    {
            	    match('-'); 

            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:425:33: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )+
            	    int cnt7=0;
            	    loop7:
            	    do {
            	        int alt7=2;
            	        int LA7_0 = input.LA(1);

            	        if ( ((LA7_0 >= '0' && LA7_0 <= '9')||(LA7_0 >= 'A' && LA7_0 <= 'Z')||(LA7_0 >= 'a' && LA7_0 <= 'z')) ) {
            	            alt7=1;
            	        }


            	        switch (alt7) {
            	    	case 1 :
            	    	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            	    	    {
            	    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	    	        input.consume();
            	    	    }
            	    	    else {
            	    	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	    	        recover(mse);
            	    	        throw mse;
            	    	    }


            	    	    }
            	    	    break;

            	    	default :
            	    	    if ( cnt7 >= 1 ) break loop7;
            	                EarlyExitException eee =
            	                    new EarlyExitException(7, input);
            	                throw eee;
            	        }
            	        cnt7++;
            	    } while (true);


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LANGTAG"

    // $ANTLR start "PN_LOCAL"
    public final void mPN_LOCAL() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:431:3: ( ( PN_CHARS_U | ':' | '0' .. '9' | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) )? )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:3: ( PN_CHARS_U | ':' | '0' .. '9' | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) )?
            {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:3: ( PN_CHARS_U | ':' | '0' .. '9' | PLX )
            int alt9=4;
            int LA9_0 = input.LA(1);

            if ( ((LA9_0 >= 'A' && LA9_0 <= 'Z')||LA9_0=='_'||(LA9_0 >= 'a' && LA9_0 <= 'z')||(LA9_0 >= '\u00C0' && LA9_0 <= '\u00D6')||(LA9_0 >= '\u00D8' && LA9_0 <= '\u00F6')||(LA9_0 >= '\u00F8' && LA9_0 <= '\u02FF')||(LA9_0 >= '\u0370' && LA9_0 <= '\u037D')||(LA9_0 >= '\u037F' && LA9_0 <= '\u1FFF')||(LA9_0 >= '\u200C' && LA9_0 <= '\u200D')||(LA9_0 >= '\u2070' && LA9_0 <= '\u218F')||(LA9_0 >= '\u2C00' && LA9_0 <= '\u2FEF')||(LA9_0 >= '\u3001' && LA9_0 <= '\uD7FF')||(LA9_0 >= '\uF900' && LA9_0 <= '\uFDCF')||(LA9_0 >= '\uFDF0' && LA9_0 <= '\uFFFD')) ) {
                alt9=1;
            }
            else if ( (LA9_0==':') ) {
                alt9=2;
            }
            else if ( ((LA9_0 >= '0' && LA9_0 <= '9')) ) {
                alt9=3;
            }
            else if ( (LA9_0=='%'||LA9_0=='\\') ) {
                alt9=4;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;

            }
            switch (alt9) {
                case 1 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:4: PN_CHARS_U
                    {
                    mPN_CHARS_U(); 


                    }
                    break;
                case 2 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:17: ':'
                    {
                    match(':'); 

                    }
                    break;
                case 3 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:23: '0' .. '9'
                    {
                    matchRange('0','9'); 

                    }
                    break;
                case 4 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:34: PLX
                    {
                    mPLX(); 


                    }
                    break;

            }


            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:40: ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0=='%'||(LA12_0 >= '-' && LA12_0 <= '.')||(LA12_0 >= '0' && LA12_0 <= ':')||(LA12_0 >= 'A' && LA12_0 <= 'Z')||LA12_0=='\\'||LA12_0=='_'||(LA12_0 >= 'a' && LA12_0 <= 'z')||LA12_0=='\u00B7'||(LA12_0 >= '\u00C0' && LA12_0 <= '\u00D6')||(LA12_0 >= '\u00D8' && LA12_0 <= '\u00F6')||(LA12_0 >= '\u00F8' && LA12_0 <= '\u037D')||(LA12_0 >= '\u037F' && LA12_0 <= '\u1FFF')||(LA12_0 >= '\u200C' && LA12_0 <= '\u200D')||(LA12_0 >= '\u203F' && LA12_0 <= '\u2040')||(LA12_0 >= '\u2070' && LA12_0 <= '\u218F')||(LA12_0 >= '\u2C00' && LA12_0 <= '\u2FEF')||(LA12_0 >= '\u3001' && LA12_0 <= '\uD7FF')||(LA12_0 >= '\uF900' && LA12_0 <= '\uFDCF')||(LA12_0 >= '\uFDF0' && LA12_0 <= '\uFFFD')) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:41: ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX )
                    {
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:41: ( PN_CHARS | '.' | ':' | PLX )*
                    loop10:
                    do {
                        int alt10=5;
                        int LA10_0 = input.LA(1);

                        if ( (LA10_0=='-'||(LA10_0 >= '0' && LA10_0 <= '9')||(LA10_0 >= 'A' && LA10_0 <= 'Z')||LA10_0=='_'||(LA10_0 >= 'a' && LA10_0 <= 'z')||LA10_0=='\u00B7'||(LA10_0 >= '\u00C0' && LA10_0 <= '\u00D6')||(LA10_0 >= '\u00D8' && LA10_0 <= '\u00F6')||(LA10_0 >= '\u00F8' && LA10_0 <= '\u037D')||(LA10_0 >= '\u037F' && LA10_0 <= '\u1FFF')||(LA10_0 >= '\u200C' && LA10_0 <= '\u200D')||(LA10_0 >= '\u203F' && LA10_0 <= '\u2040')||(LA10_0 >= '\u2070' && LA10_0 <= '\u218F')||(LA10_0 >= '\u2C00' && LA10_0 <= '\u2FEF')||(LA10_0 >= '\u3001' && LA10_0 <= '\uD7FF')||(LA10_0 >= '\uF900' && LA10_0 <= '\uFDCF')||(LA10_0 >= '\uFDF0' && LA10_0 <= '\uFFFD')) ) {
                            int LA10_1 = input.LA(2);

                            if ( (LA10_1=='%'||(LA10_1 >= '-' && LA10_1 <= '.')||(LA10_1 >= '0' && LA10_1 <= ':')||(LA10_1 >= 'A' && LA10_1 <= 'Z')||LA10_1=='\\'||LA10_1=='_'||(LA10_1 >= 'a' && LA10_1 <= 'z')||LA10_1=='\u00B7'||(LA10_1 >= '\u00C0' && LA10_1 <= '\u00D6')||(LA10_1 >= '\u00D8' && LA10_1 <= '\u00F6')||(LA10_1 >= '\u00F8' && LA10_1 <= '\u037D')||(LA10_1 >= '\u037F' && LA10_1 <= '\u1FFF')||(LA10_1 >= '\u200C' && LA10_1 <= '\u200D')||(LA10_1 >= '\u203F' && LA10_1 <= '\u2040')||(LA10_1 >= '\u2070' && LA10_1 <= '\u218F')||(LA10_1 >= '\u2C00' && LA10_1 <= '\u2FEF')||(LA10_1 >= '\u3001' && LA10_1 <= '\uD7FF')||(LA10_1 >= '\uF900' && LA10_1 <= '\uFDCF')||(LA10_1 >= '\uFDF0' && LA10_1 <= '\uFFFD')) ) {
                                alt10=1;
                            }


                        }
                        else if ( (LA10_0==':') ) {
                            int LA10_2 = input.LA(2);

                            if ( (LA10_2=='%'||(LA10_2 >= '-' && LA10_2 <= '.')||(LA10_2 >= '0' && LA10_2 <= ':')||(LA10_2 >= 'A' && LA10_2 <= 'Z')||LA10_2=='\\'||LA10_2=='_'||(LA10_2 >= 'a' && LA10_2 <= 'z')||LA10_2=='\u00B7'||(LA10_2 >= '\u00C0' && LA10_2 <= '\u00D6')||(LA10_2 >= '\u00D8' && LA10_2 <= '\u00F6')||(LA10_2 >= '\u00F8' && LA10_2 <= '\u037D')||(LA10_2 >= '\u037F' && LA10_2 <= '\u1FFF')||(LA10_2 >= '\u200C' && LA10_2 <= '\u200D')||(LA10_2 >= '\u203F' && LA10_2 <= '\u2040')||(LA10_2 >= '\u2070' && LA10_2 <= '\u218F')||(LA10_2 >= '\u2C00' && LA10_2 <= '\u2FEF')||(LA10_2 >= '\u3001' && LA10_2 <= '\uD7FF')||(LA10_2 >= '\uF900' && LA10_2 <= '\uFDCF')||(LA10_2 >= '\uFDF0' && LA10_2 <= '\uFFFD')) ) {
                                alt10=3;
                            }


                        }
                        else if ( (LA10_0=='%') ) {
                            int LA10_3 = input.LA(2);

                            if ( ((LA10_3 >= '0' && LA10_3 <= '9')||(LA10_3 >= 'A' && LA10_3 <= 'F')||(LA10_3 >= 'a' && LA10_3 <= 'f')) ) {
                                int LA10_9 = input.LA(3);

                                if ( ((LA10_9 >= '0' && LA10_9 <= '9')||(LA10_9 >= 'A' && LA10_9 <= 'F')||(LA10_9 >= 'a' && LA10_9 <= 'f')) ) {
                                    int LA10_11 = input.LA(4);

                                    if ( (LA10_11=='%'||(LA10_11 >= '-' && LA10_11 <= '.')||(LA10_11 >= '0' && LA10_11 <= ':')||(LA10_11 >= 'A' && LA10_11 <= 'Z')||LA10_11=='\\'||LA10_11=='_'||(LA10_11 >= 'a' && LA10_11 <= 'z')||LA10_11=='\u00B7'||(LA10_11 >= '\u00C0' && LA10_11 <= '\u00D6')||(LA10_11 >= '\u00D8' && LA10_11 <= '\u00F6')||(LA10_11 >= '\u00F8' && LA10_11 <= '\u037D')||(LA10_11 >= '\u037F' && LA10_11 <= '\u1FFF')||(LA10_11 >= '\u200C' && LA10_11 <= '\u200D')||(LA10_11 >= '\u203F' && LA10_11 <= '\u2040')||(LA10_11 >= '\u2070' && LA10_11 <= '\u218F')||(LA10_11 >= '\u2C00' && LA10_11 <= '\u2FEF')||(LA10_11 >= '\u3001' && LA10_11 <= '\uD7FF')||(LA10_11 >= '\uF900' && LA10_11 <= '\uFDCF')||(LA10_11 >= '\uFDF0' && LA10_11 <= '\uFFFD')) ) {
                                        alt10=4;
                                    }


                                }


                            }


                        }
                        else if ( (LA10_0=='\\') ) {
                            int LA10_4 = input.LA(2);

                            if ( (LA10_4=='!'||(LA10_4 >= '#' && LA10_4 <= '/')||LA10_4==';'||LA10_4=='='||(LA10_4 >= '?' && LA10_4 <= '@')||LA10_4=='_'||LA10_4=='~') ) {
                                int LA10_10 = input.LA(3);

                                if ( (LA10_10=='%'||(LA10_10 >= '-' && LA10_10 <= '.')||(LA10_10 >= '0' && LA10_10 <= ':')||(LA10_10 >= 'A' && LA10_10 <= 'Z')||LA10_10=='\\'||LA10_10=='_'||(LA10_10 >= 'a' && LA10_10 <= 'z')||LA10_10=='\u00B7'||(LA10_10 >= '\u00C0' && LA10_10 <= '\u00D6')||(LA10_10 >= '\u00D8' && LA10_10 <= '\u00F6')||(LA10_10 >= '\u00F8' && LA10_10 <= '\u037D')||(LA10_10 >= '\u037F' && LA10_10 <= '\u1FFF')||(LA10_10 >= '\u200C' && LA10_10 <= '\u200D')||(LA10_10 >= '\u203F' && LA10_10 <= '\u2040')||(LA10_10 >= '\u2070' && LA10_10 <= '\u218F')||(LA10_10 >= '\u2C00' && LA10_10 <= '\u2FEF')||(LA10_10 >= '\u3001' && LA10_10 <= '\uD7FF')||(LA10_10 >= '\uF900' && LA10_10 <= '\uFDCF')||(LA10_10 >= '\uFDF0' && LA10_10 <= '\uFFFD')) ) {
                                    alt10=4;
                                }


                            }


                        }
                        else if ( (LA10_0=='.') ) {
                            alt10=2;
                        }


                        switch (alt10) {
                    	case 1 :
                    	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:42: PN_CHARS
                    	    {
                    	    mPN_CHARS(); 


                    	    }
                    	    break;
                    	case 2 :
                    	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:53: '.'
                    	    {
                    	    match('.'); 

                    	    }
                    	    break;
                    	case 3 :
                    	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:59: ':'
                    	    {
                    	    match(':'); 

                    	    }
                    	    break;
                    	case 4 :
                    	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:65: PLX
                    	    {
                    	    mPLX(); 


                    	    }
                    	    break;

                    	default :
                    	    break loop10;
                        }
                    } while (true);


                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:71: ( PN_CHARS | ':' | PLX )
                    int alt11=3;
                    int LA11_0 = input.LA(1);

                    if ( (LA11_0=='-'||(LA11_0 >= '0' && LA11_0 <= '9')||(LA11_0 >= 'A' && LA11_0 <= 'Z')||LA11_0=='_'||(LA11_0 >= 'a' && LA11_0 <= 'z')||LA11_0=='\u00B7'||(LA11_0 >= '\u00C0' && LA11_0 <= '\u00D6')||(LA11_0 >= '\u00D8' && LA11_0 <= '\u00F6')||(LA11_0 >= '\u00F8' && LA11_0 <= '\u037D')||(LA11_0 >= '\u037F' && LA11_0 <= '\u1FFF')||(LA11_0 >= '\u200C' && LA11_0 <= '\u200D')||(LA11_0 >= '\u203F' && LA11_0 <= '\u2040')||(LA11_0 >= '\u2070' && LA11_0 <= '\u218F')||(LA11_0 >= '\u2C00' && LA11_0 <= '\u2FEF')||(LA11_0 >= '\u3001' && LA11_0 <= '\uD7FF')||(LA11_0 >= '\uF900' && LA11_0 <= '\uFDCF')||(LA11_0 >= '\uFDF0' && LA11_0 <= '\uFFFD')) ) {
                        alt11=1;
                    }
                    else if ( (LA11_0==':') ) {
                        alt11=2;
                    }
                    else if ( (LA11_0=='%'||LA11_0=='\\') ) {
                        alt11=3;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 11, 0, input);

                        throw nvae;

                    }
                    switch (alt11) {
                        case 1 :
                            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:72: PN_CHARS
                            {
                            mPN_CHARS(); 


                            }
                            break;
                        case 2 :
                            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:83: ':'
                            {
                            match(':'); 

                            }
                            break;
                        case 3 :
                            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:432:89: PLX
                            {
                            mPLX(); 


                            }
                            break;

                    }


                    }
                    break;

            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PN_LOCAL"

    // $ANTLR start "PLX"
    public final void mPLX() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:437:3: ( PERCENT | PN_LOCAL_ESC )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0=='%') ) {
                alt13=1;
            }
            else if ( (LA13_0=='\\') ) {
                alt13=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;

            }
            switch (alt13) {
                case 1 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:438:3: PERCENT
                    {
                    mPERCENT(); 


                    }
                    break;
                case 2 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:438:13: PN_LOCAL_ESC
                    {
                    mPN_LOCAL_ESC(); 


                    }
                    break;

            }

        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PLX"

    // $ANTLR start "PERCENT"
    public final void mPERCENT() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:443:3: ( '%' HEX HEX )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:444:3: '%' HEX HEX
            {
            match('%'); 

            mHEX(); 


            mHEX(); 


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PERCENT"

    // $ANTLR start "HEX"
    public final void mHEX() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:449:3: ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "HEX"

    // $ANTLR start "PN_LOCAL_ESC"
    public final void mPN_LOCAL_ESC() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:455:3: ( '\\\\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | '\\'' | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' ) )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:456:3: '\\\\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | '\\'' | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' )
            {
            match('\\'); 

            if ( input.LA(1)=='!'||(input.LA(1) >= '#' && input.LA(1) <= '/')||input.LA(1)==';'||input.LA(1)=='='||(input.LA(1) >= '?' && input.LA(1) <= '@')||input.LA(1)=='_'||input.LA(1)=='~' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PN_LOCAL_ESC"

    // $ANTLR start "PN_PREFIX"
    public final void mPN_PREFIX() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:461:3: ( PN_CHARS_BASE ( ( PN_CHARS )* PN_CHARS )? )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:462:3: PN_CHARS_BASE ( ( PN_CHARS )* PN_CHARS )?
            {
            mPN_CHARS_BASE(); 


            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:462:17: ( ( PN_CHARS )* PN_CHARS )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0=='-'||(LA15_0 >= '0' && LA15_0 <= '9')||(LA15_0 >= 'A' && LA15_0 <= 'Z')||LA15_0=='_'||(LA15_0 >= 'a' && LA15_0 <= 'z')||LA15_0=='\u00B7'||(LA15_0 >= '\u00C0' && LA15_0 <= '\u00D6')||(LA15_0 >= '\u00D8' && LA15_0 <= '\u00F6')||(LA15_0 >= '\u00F8' && LA15_0 <= '\u037D')||(LA15_0 >= '\u037F' && LA15_0 <= '\u1FFF')||(LA15_0 >= '\u200C' && LA15_0 <= '\u200D')||(LA15_0 >= '\u203F' && LA15_0 <= '\u2040')||(LA15_0 >= '\u2070' && LA15_0 <= '\u218F')||(LA15_0 >= '\u2C00' && LA15_0 <= '\u2FEF')||(LA15_0 >= '\u3001' && LA15_0 <= '\uD7FF')||(LA15_0 >= '\uF900' && LA15_0 <= '\uFDCF')||(LA15_0 >= '\uFDF0' && LA15_0 <= '\uFFFD')) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:462:18: ( PN_CHARS )* PN_CHARS
                    {
                    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:462:18: ( PN_CHARS )*
                    loop14:
                    do {
                        int alt14=2;
                        int LA14_0 = input.LA(1);

                        if ( (LA14_0=='-'||(LA14_0 >= '0' && LA14_0 <= '9')||(LA14_0 >= 'A' && LA14_0 <= 'Z')||LA14_0=='_'||(LA14_0 >= 'a' && LA14_0 <= 'z')||LA14_0=='\u00B7'||(LA14_0 >= '\u00C0' && LA14_0 <= '\u00D6')||(LA14_0 >= '\u00D8' && LA14_0 <= '\u00F6')||(LA14_0 >= '\u00F8' && LA14_0 <= '\u037D')||(LA14_0 >= '\u037F' && LA14_0 <= '\u1FFF')||(LA14_0 >= '\u200C' && LA14_0 <= '\u200D')||(LA14_0 >= '\u203F' && LA14_0 <= '\u2040')||(LA14_0 >= '\u2070' && LA14_0 <= '\u218F')||(LA14_0 >= '\u2C00' && LA14_0 <= '\u2FEF')||(LA14_0 >= '\u3001' && LA14_0 <= '\uD7FF')||(LA14_0 >= '\uF900' && LA14_0 <= '\uFDCF')||(LA14_0 >= '\uFDF0' && LA14_0 <= '\uFFFD')) ) {
                            int LA14_1 = input.LA(2);

                            if ( (LA14_1=='-'||(LA14_1 >= '0' && LA14_1 <= '9')||(LA14_1 >= 'A' && LA14_1 <= 'Z')||LA14_1=='_'||(LA14_1 >= 'a' && LA14_1 <= 'z')||LA14_1=='\u00B7'||(LA14_1 >= '\u00C0' && LA14_1 <= '\u00D6')||(LA14_1 >= '\u00D8' && LA14_1 <= '\u00F6')||(LA14_1 >= '\u00F8' && LA14_1 <= '\u037D')||(LA14_1 >= '\u037F' && LA14_1 <= '\u1FFF')||(LA14_1 >= '\u200C' && LA14_1 <= '\u200D')||(LA14_1 >= '\u203F' && LA14_1 <= '\u2040')||(LA14_1 >= '\u2070' && LA14_1 <= '\u218F')||(LA14_1 >= '\u2C00' && LA14_1 <= '\u2FEF')||(LA14_1 >= '\u3001' && LA14_1 <= '\uD7FF')||(LA14_1 >= '\uF900' && LA14_1 <= '\uFDCF')||(LA14_1 >= '\uFDF0' && LA14_1 <= '\uFFFD')) ) {
                                alt14=1;
                            }


                        }


                        switch (alt14) {
                    	case 1 :
                    	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
                    	    {
                    	    if ( input.LA(1)=='-'||(input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00B7'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')||(input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')||(input.LA(1) >= '\u00F8' && input.LA(1) <= '\u037D')||(input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')||(input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')||(input.LA(1) >= '\u203F' && input.LA(1) <= '\u2040')||(input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')||(input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')||(input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')||(input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')||(input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop14;
                        }
                    } while (true);


                    mPN_CHARS(); 


                    }
                    break;

            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PN_PREFIX"

    // $ANTLR start "PN_CHARS_BASE"
    public final void mPN_CHARS_BASE() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:467:3: ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02FF' | '\\u0370' .. '\\u037D' | '\\u037F' .. '\\u1FFF' | '\\u200C' .. '\\u200D' | '\\u2070' .. '\\u218F' | '\\u2C00' .. '\\u2FEF' | '\\u3001' .. '\\uD7FF' | '\\uF900' .. '\\uFDCF' | '\\uFDF0' .. '\\uFFFD' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')||(input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')||(input.LA(1) >= '\u00F8' && input.LA(1) <= '\u02FF')||(input.LA(1) >= '\u0370' && input.LA(1) <= '\u037D')||(input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')||(input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')||(input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')||(input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')||(input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')||(input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')||(input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PN_CHARS_BASE"

    // $ANTLR start "PN_CHARS_U"
    public final void mPN_CHARS_U() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:475:3: ( PN_CHARS_BASE | '_' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')||(input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')||(input.LA(1) >= '\u00F8' && input.LA(1) <= '\u02FF')||(input.LA(1) >= '\u0370' && input.LA(1) <= '\u037D')||(input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')||(input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')||(input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')||(input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')||(input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')||(input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')||(input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PN_CHARS_U"

    // $ANTLR start "PN_CHARS"
    public final void mPN_CHARS() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:481:3: ( PN_CHARS_U | '-' | '0' .. '9' | '\\u00B7' | '\\u0300' .. '\\u036F' | '\\u203F' .. '\\u2040' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            {
            if ( input.LA(1)=='-'||(input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00B7'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')||(input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')||(input.LA(1) >= '\u00F8' && input.LA(1) <= '\u037D')||(input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')||(input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')||(input.LA(1) >= '\u203F' && input.LA(1) <= '\u2040')||(input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')||(input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')||(input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')||(input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')||(input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PN_CHARS"

    // $ANTLR start "VARNAME"
    public final void mVARNAME() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:488:3: ( JAVA_IDENTIFIER )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:489:3: JAVA_IDENTIFIER
            {
            mJAVA_IDENTIFIER(); 


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VARNAME"

    // $ANTLR start "JAVA_IDENTIFIER"
    public final void mJAVA_IDENTIFIER() throws RecognitionException {
        try {
            int _type = JAVA_IDENTIFIER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:493:3: ( JAVA_LETTER ( JAVA_LETTER_OR_DIGIT )* )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:494:3: JAVA_LETTER ( JAVA_LETTER_OR_DIGIT )*
            {
            mJAVA_LETTER(); 


            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:494:15: ( JAVA_LETTER_OR_DIGIT )*
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( ((LA16_0 >= '0' && LA16_0 <= '9')||(LA16_0 >= 'A' && LA16_0 <= 'Z')||LA16_0=='_'||(LA16_0 >= 'a' && LA16_0 <= 'z')) ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop16;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "JAVA_IDENTIFIER"

    // $ANTLR start "JAVA_LETTER"
    public final void mJAVA_LETTER() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:500:3: ( 'a' .. 'z' | 'A' .. 'Z' | '_' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "JAVA_LETTER"

    // $ANTLR start "JAVA_LETTER_OR_DIGIT"
    public final void mJAVA_LETTER_OR_DIGIT() throws RecognitionException {
        try {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:506:3: ( JAVA_LETTER | '0' .. '9' )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "JAVA_LETTER_OR_DIGIT"

    // $ANTLR start "INTEGER"
    public final void mINTEGER() throws RecognitionException {
        try {
            int _type = INTEGER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:510:3: ( ( '0' .. '9' )+ )
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:511:3: ( '0' .. '9' )+
            {
            // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:511:3: ( '0' .. '9' )+
            int cnt17=0;
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( ((LA17_0 >= '0' && LA17_0 <= '9')) ) {
                    alt17=1;
                }


                switch (alt17) {
            	case 1 :
            	    // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt17 >= 1 ) break loop17;
                        EarlyExitException eee =
                            new EarlyExitException(17, input);
                        throw eee;
                }
                cnt17++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INTEGER"

    public void mTokens() throws RecognitionException {
        // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:8: ( T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | RULE_ID | WS | NEWLINE | COMMENT | MULTILINE_COMMENT | IRIREF | VAR1 | VAR2 | PNAME_NS | PNAME_LN | BLANK_NODE_LABEL | LANGTAG | JAVA_IDENTIFIER | INTEGER )
        int alt18=36;
        alt18 = dfa18.predict(input);
        switch (alt18) {
            case 1 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:10: T__67
                {
                mT__67(); 


                }
                break;
            case 2 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:16: T__68
                {
                mT__68(); 


                }
                break;
            case 3 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:22: T__69
                {
                mT__69(); 


                }
                break;
            case 4 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:28: T__70
                {
                mT__70(); 


                }
                break;
            case 5 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:34: T__71
                {
                mT__71(); 


                }
                break;
            case 6 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:40: T__72
                {
                mT__72(); 


                }
                break;
            case 7 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:46: T__73
                {
                mT__73(); 


                }
                break;
            case 8 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:52: T__74
                {
                mT__74(); 


                }
                break;
            case 9 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:58: T__75
                {
                mT__75(); 


                }
                break;
            case 10 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:64: T__76
                {
                mT__76(); 


                }
                break;
            case 11 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:70: T__77
                {
                mT__77(); 


                }
                break;
            case 12 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:76: T__78
                {
                mT__78(); 


                }
                break;
            case 13 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:82: T__79
                {
                mT__79(); 


                }
                break;
            case 14 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:88: T__80
                {
                mT__80(); 


                }
                break;
            case 15 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:94: T__81
                {
                mT__81(); 


                }
                break;
            case 16 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:100: T__82
                {
                mT__82(); 


                }
                break;
            case 17 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:106: T__83
                {
                mT__83(); 


                }
                break;
            case 18 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:112: T__84
                {
                mT__84(); 


                }
                break;
            case 19 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:118: T__85
                {
                mT__85(); 


                }
                break;
            case 20 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:124: T__86
                {
                mT__86(); 


                }
                break;
            case 21 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:130: T__87
                {
                mT__87(); 


                }
                break;
            case 22 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:136: T__88
                {
                mT__88(); 


                }
                break;
            case 23 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:142: RULE_ID
                {
                mRULE_ID(); 


                }
                break;
            case 24 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:150: WS
                {
                mWS(); 


                }
                break;
            case 25 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:153: NEWLINE
                {
                mNEWLINE(); 


                }
                break;
            case 26 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:161: COMMENT
                {
                mCOMMENT(); 


                }
                break;
            case 27 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:169: MULTILINE_COMMENT
                {
                mMULTILINE_COMMENT(); 


                }
                break;
            case 28 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:187: IRIREF
                {
                mIRIREF(); 


                }
                break;
            case 29 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:194: VAR1
                {
                mVAR1(); 


                }
                break;
            case 30 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:199: VAR2
                {
                mVAR2(); 


                }
                break;
            case 31 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:204: PNAME_NS
                {
                mPNAME_NS(); 


                }
                break;
            case 32 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:213: PNAME_LN
                {
                mPNAME_LN(); 


                }
                break;
            case 33 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:222: BLANK_NODE_LABEL
                {
                mBLANK_NODE_LABEL(); 


                }
                break;
            case 34 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:239: LANGTAG
                {
                mLANGTAG(); 


                }
                break;
            case 35 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:247: JAVA_IDENTIFIER
                {
                mJAVA_IDENTIFIER(); 


                }
                break;
            case 36 :
                // /home/manuel/workspace/coda/CODA_Parser_ANTLR/src/main/java/it/uniroma2/art/coda/pearl/parser/antlr/Antlr.g:1:263: INTEGER
                {
                mINTEGER(); 


                }
                break;

        }

    }


    protected DFA18 dfa18 = new DFA18(this);
    static final String DFA18_eotS =
        "\5\uffff\1\44\1\uffff\1\46\3\uffff\1\51\10\46\2\uffff\1\46\5\uffff"+
        "\1\46\1\64\1\46\6\uffff\1\46\1\uffff\1\46\2\uffff\12\46\3\uffff"+
        "\10\46\1\112\1\46\1\64\3\46\1\124\3\46\1\130\1\uffff\1\46\3\132"+
        "\2\uffff\2\46\1\144\1\uffff\1\46\1\146\1\46\1\uffff\1\150\1\uffff"+
        "\1\132\1\uffff\1\132\3\uffff\1\132\2\46\1\uffff\1\46\1\uffff\1\157"+
        "\2\uffff\2\132\2\46\1\163\1\uffff\1\132\1\164\1\165\3\uffff";
    static final String DFA18_eofS =
        "\166\uffff";
    static final String DFA18_minS =
        "\1\11\4\uffff\1\52\1\uffff\1\55\3\uffff\11\55\2\uffff\1\55\5\uffff"+
        "\1\55\1\45\1\72\1\uffff\1\55\4\uffff\1\55\1\uffff\2\55\1\uffff\12"+
        "\55\3\uffff\12\55\1\45\10\55\1\uffff\1\55\3\45\1\60\1\41\3\55\1"+
        "\uffff\3\55\1\uffff\1\55\1\uffff\3\45\1\60\1\41\1\60\1\45\2\55\1"+
        "\uffff\1\55\1\uffff\1\55\1\uffff\1\60\2\45\3\55\1\uffff\1\45\2\55"+
        "\3\uffff";
    static final String DFA18_maxS =
        "\1\ufffd\4\uffff\1\57\1\uffff\1\ufffd\3\uffff\11\ufffd\2\uffff\1"+
        "\ufffd\5\uffff\2\ufffd\1\72\1\uffff\1\ufffd\4\uffff\1\ufffd\1\uffff"+
        "\2\ufffd\1\uffff\12\ufffd\3\uffff\23\ufffd\1\uffff\4\ufffd\1\146"+
        "\1\176\3\ufffd\1\uffff\3\ufffd\1\uffff\1\ufffd\1\uffff\3\ufffd\1"+
        "\146\1\176\1\146\3\ufffd\1\uffff\1\ufffd\1\uffff\1\ufffd\1\uffff"+
        "\1\146\5\ufffd\1\uffff\3\ufffd\3\uffff";
    static final String DFA18_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\1\uffff\1\6\1\uffff\1\10\1\11\1\12\11\uffff"+
        "\1\25\1\26\1\uffff\1\30\1\31\1\34\1\35\1\36\3\uffff\1\42\1\uffff"+
        "\1\44\1\32\1\33\1\5\1\uffff\1\43\2\uffff\1\13\12\uffff\1\37\1\40"+
        "\1\41\23\uffff\1\23\11\uffff\1\16\3\uffff\1\22\1\uffff\1\27\11\uffff"+
        "\1\15\1\uffff\1\20\1\uffff\1\24\6\uffff\1\21\3\uffff\1\17\1\7\1"+
        "\14";
    static final String DFA18_specialS =
        "\166\uffff}>";
    static final String[] DFA18_transitionS = {
            "\1\27\1\30\1\uffff\2\27\22\uffff\1\27\3\uffff\1\33\3\uffff\1"+
            "\1\1\2\2\uffff\1\3\1\uffff\1\4\1\5\12\41\1\35\1\uffff\1\31\1"+
            "\6\1\uffff\1\32\1\37\16\34\1\7\13\34\1\10\1\uffff\1\11\1\12"+
            "\1\36\1\uffff\1\13\1\14\4\34\1\15\1\34\1\26\2\34\1\16\1\34\1"+
            "\17\1\34\1\20\1\34\1\21\2\34\1\22\1\34\1\23\3\34\1\24\1\uffff"+
            "\1\25\102\uffff\27\40\1\uffff\37\40\1\uffff\u0208\40\160\uffff"+
            "\16\40\1\uffff\u1c81\40\14\uffff\2\40\142\uffff\u0120\40\u0a70"+
            "\uffff\u03f0\40\21\uffff\ua7ff\40\u2100\uffff\u04d0\40\40\uffff"+
            "\u020e\40",
            "",
            "",
            "",
            "",
            "\1\43\4\uffff\1\42",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\17\47\1\45\12\47\4\uffff\1"+
            "\47\1\uffff\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "",
            "",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\10\47\1\52\21\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\21\47\1\53\10\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\1\54\7\47\1\55\21\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37"+
            "\50\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff"+
            "\2\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff"+
            "\50\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\16\47\1\56\13\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\21\47\1\57\10\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\24\47\1\60\5\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\21\47\1\61\10\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\7\47\1\62\22\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\3\47\1\63\26\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "",
            "",
            "",
            "",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "\1\65\12\uffff\13\65\6\uffff\32\65\1\uffff\1\65\2\uffff\1\65"+
            "\1\uffff\32\65\105\uffff\27\65\1\uffff\37\65\1\uffff\u0208\65"+
            "\160\uffff\16\65\1\uffff\u1c81\65\14\uffff\2\65\142\uffff\u0120"+
            "\65\u0a70\uffff\u03f0\65\21\uffff\ua7ff\65\u2100\uffff\u04d0"+
            "\65\40\uffff\u020e\65",
            "\1\66",
            "",
            "\1\50\2\uffff\12\50\1\35\6\uffff\32\50\4\uffff\1\50\1\uffff"+
            "\32\50\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "",
            "",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\23\47\1\67\6\47\4\uffff\1"+
            "\47\1\uffff\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\50\1\35\6\uffff\32\50\4\uffff\1\50\1\uffff"+
            "\32\50\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\15\47\1\70\14\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\1\71\31\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff"+
            "\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff"+
            "\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff"+
            "\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\31\47\1\72\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff"+
            "\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff"+
            "\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff"+
            "\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\23\47\1\73\6\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\3\47\1\74\26\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\4\47\1\75\25\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\13\47\1\76\16\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\10\47\1\77\21\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\4\47\1\100\25\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\101\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\10\47\1\102\21\47\4\uffff"+
            "\1\47\1\uffff\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37"+
            "\50\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff"+
            "\2\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff"+
            "\50\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\3\47\1\103\26\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\17\47\1\104\12\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\30\47\1\105\1\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\4\47\1\106\25\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\4\47\1\107\25\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\5\47\1\110\24\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\4\47\1\111\25\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\21\47\1\113\10\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\117\12\uffff\12\116\1\115\6\uffff\32\114\1\uffff\1\120\2"+
            "\uffff\1\114\1\uffff\32\114\105\uffff\27\114\1\uffff\37\114"+
            "\1\uffff\u0208\114\160\uffff\16\114\1\uffff\u1c81\114\14\uffff"+
            "\2\114\142\uffff\u0120\114\u0a70\uffff\u03f0\114\21\uffff\ua7ff"+
            "\114\u2100\uffff\u04d0\114\40\uffff\u020e\114",
            "\1\50\2\uffff\12\47\1\35\6\uffff\16\47\1\121\13\47\4\uffff"+
            "\1\47\1\uffff\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37"+
            "\50\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff"+
            "\2\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff"+
            "\50\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\10\47\1\122\21\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\7\47\1\123\22\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\21\47\1\125\10\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\22\47\1\126\7\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\10\47\1\127\21\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\4\47\1\131\25\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\12\140\7\uffff\6\140\32\uffff\6\140",
            "\1\141\1\uffff\15\141\13\uffff\1\141\1\uffff\1\141\1\uffff"+
            "\2\141\36\uffff\1\141\36\uffff\1\141",
            "\1\50\2\uffff\12\47\1\35\6\uffff\15\47\1\142\14\47\4\uffff"+
            "\1\47\1\uffff\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37"+
            "\50\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff"+
            "\2\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff"+
            "\50\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\15\47\1\143\14\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\1\145\31\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff"+
            "\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff"+
            "\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff"+
            "\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\27\47\1\147\2\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\12\151\7\uffff\6\151\32\uffff\6\151",
            "\1\152\1\uffff\15\152\13\uffff\1\152\1\uffff\1\152\1\uffff"+
            "\2\152\36\uffff\1\152\36\uffff\1\152",
            "\12\153\7\uffff\6\153\32\uffff\6\153",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\50\2\uffff\12\47\1\35\6\uffff\1\154\31\47\4\uffff\1\47\1"+
            "\uffff\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff"+
            "\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff"+
            "\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff"+
            "\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\6\47\1\155\23\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\13\47\1\156\16\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "\12\160\7\uffff\6\160\32\uffff\6\160",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\50\2\uffff\12\47\1\35\6\uffff\13\47\1\161\16\47\4\uffff"+
            "\1\47\1\uffff\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37"+
            "\50\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff"+
            "\2\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff"+
            "\50\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\22\47\1\162\7\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50"+
            "\1\uffff\u0286\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2"+
            "\50\57\uffff\u0120\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50"+
            "\u2100\uffff\u04d0\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "\1\136\7\uffff\1\133\1\134\1\uffff\12\133\1\135\6\uffff\32"+
            "\133\1\uffff\1\137\2\uffff\1\133\1\uffff\32\133\74\uffff\1\133"+
            "\10\uffff\27\133\1\uffff\37\133\1\uffff\u0286\133\1\uffff\u1c81"+
            "\133\14\uffff\2\133\61\uffff\2\133\57\uffff\u0120\133\u0a70"+
            "\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0\133\40"+
            "\uffff\u020e\133",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "\1\50\2\uffff\12\47\1\35\6\uffff\32\47\4\uffff\1\47\1\uffff"+
            "\32\47\74\uffff\1\50\10\uffff\27\50\1\uffff\37\50\1\uffff\u0286"+
            "\50\1\uffff\u1c81\50\14\uffff\2\50\61\uffff\2\50\57\uffff\u0120"+
            "\50\u0a70\uffff\u03f0\50\21\uffff\ua7ff\50\u2100\uffff\u04d0"+
            "\50\40\uffff\u020e\50",
            "",
            "",
            ""
    };

    static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);
    static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);
    static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
    static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
    static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);
    static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);
    static final short[][] DFA18_transition;

    static {
        int numStates = DFA18_transitionS.length;
        DFA18_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA18_transition[i] = DFA.unpackEncodedString(DFA18_transitionS[i]);
        }
    }

    class DFA18 extends DFA {

        public DFA18(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 18;
            this.eot = DFA18_eot;
            this.eof = DFA18_eof;
            this.min = DFA18_min;
            this.max = DFA18_max;
            this.accept = DFA18_accept;
            this.special = DFA18_special;
            this.transition = DFA18_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | RULE_ID | WS | NEWLINE | COMMENT | MULTILINE_COMMENT | IRIREF | VAR1 | VAR2 | PNAME_NS | PNAME_LN | BLANK_NODE_LABEL | LANGTAG | JAVA_IDENTIFIER | INTEGER );";
        }
    }
 

}